package com.uuah.server.config.spring.parsers.assembly;

import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;

import com.uuah.server.config.spring.parsers.assembly.configuration.IPropertyConfiguration;

public class TwoStageMapBeanAssemblerFactory implements IBeanAssemblerFactory {

	private BeanAssemblerStore store;

	public TwoStageMapBeanAssemblerFactory(BeanAssemblerStore store) {
		this.store = store;
	}

	public IBeanAssembler newBeanAssembler(IPropertyConfiguration beanConfig,
			BeanDefinitionBuilder bean, IPropertyConfiguration targetConfig,
			BeanDefinition target) {
		return new TwoStageMapBeanAssembler(store, beanConfig, bean,
				targetConfig, target);
	}

	public interface BeanAssemblerStore {

		public void saveBeanAssembler(IBeanAssembler beanAssembler);

	}

}